package com.anjie.powerproject.service;

import com.anjie.powerproject.entity.Device;
import com.anjie.powerproject.pojo.CustomAtlasDevice;
import com.anjie.powerproject.pojo.CustomDevice;
import com.anjie.powerproject.pojo.dto.DeviceDTO;
import com.anjie.powerproject.strategy.pojo.device.BaseDevice;

import java.util.List;

public interface DeviceService {

    List getAllDevices();

    void deleteDeviceById(Integer deviceId);

    Device findDeviceById(Integer id);

    Device findDeviceByCode(String code);

    List<CustomDevice> findDevices();

    List findDeviceByTypeId(Integer typeId);

    void saveAndUpdateProperties(Device device);

    Device saveAndFlush(Device device);

    int getDeviceNumber(Integer deviceType);

    boolean checkDeviceName(String deviceName);

    CustomDevice findCustomDeviceById(Integer deviceId);

    List getDeviceList();

    List getAtlasDevicesByGraphId(Integer graphId);

    List<DeviceDTO> getDevicesByGraphId(Integer graphId);

}
